static const uint32_t in_f32[256] = {
    0x3e7b9a11, 0x3f430e64, 0x3f7b61f8, 0x3f3e1a0a,
    0x3f10ac73, 0x3f4e4019, 0x3ecb6c1a, 0x3eb9d756,
    0x3edf6a04, 0x3e48703f, 0x3f0bd6e4, 0x3f338f5b,
    0x3f2ccba0, 0x3f7eed8c, 0x3f40b36d, 0x3f432aa2,
    0x3f3efcd1, 0x3ea25922, 0x3f14060b, 0x3f1de431,
    0x3f317a8d, 0x3ea3f0f8, 0x3f6b2154, 0x3ea3518a,
    0x3f0f769f, 0x3f373d6b, 0x3ea68f81, 0x3f601e8c,
    0x3f78b988, 0x3f52a5df, 0x3f15dd31, 0x3f4988ae,
    0x3e9837b4, 0x3f348f53, 0x3d8c8987, 0x3de61780,
    0x3cfebf74, 0x3f40a628, 0x3f54f32d, 0x3f22172a,
    0x3eb64b7b, 0x3ea6ee22, 0x3f1d5d84, 0x3e044e85,
    0x3ec0d710, 0x3da19337, 0x3e50157d, 0x3f0ddfcc,
    0x3ea2fa79, 0x3f1a6b2c, 0x3f7bf622, 0x3d293569,
    0x3f793192, 0x3f79e1e6, 0x3e133ea4, 0x3ee4d509,
    0x3f60dd33, 0x3e4da42e, 0x3f7f7220, 0x3f06ef6b,
    0x3d44b6c3, 0x3f27a083, 0x3f4a011d, 0x3f5f3bb8,
    0x3f246fea, 0x3f6d9eee, 0x3f3366da, 0x3ec6b168,
    0x3f1baf3f, 0x3f123fde, 0x3f640d40, 0x3f285823,
    0x3f69065c, 0x3f2a688d, 0x3f163881, 0x3f02f4c1,
    0x3d5b0d1c, 0x3f26cf42, 0x3baad7d3, 0x3f310aff,
    0x3f7ae54d, 0x3eaee2eb, 0x3f649a9b, 0x3f7899e8,
    0x3e14a802, 0x3df24408, 0x3e8b7772, 0x3f03ec48,
    0x3f0f1e48, 0x3f2cf012, 0x3e1ad83d, 0x3ebeb070,
    0x3f39cb89, 0x3e0f4811, 0x3f4a5631, 0x3debe2e7,
    0x3f3b9597, 0x3f13db6d, 0x3f2f2b0a, 0x3f27e4f3,
    0x3d04450a, 0x3f014ebb, 0x3f2f04aa, 0x3f77ed6b,
    0x3eab5ae1, 0x3f3e37b0, 0x3f59b5fe, 0x3de5e5a3,
    0x3de3b577, 0x3f201a9b, 0x3f6b9e07, 0x3f691c38,
    0x3f5b9f86, 0x3cdcd883, 0x3f6d8069, 0x3f27085a,
    0x3db6301f, 0x3f56c40d, 0x3ec3d730, 0x3f79473c,
    0x3f7e9340, 0x3f6a7909, 0x3f5bc938, 0x3f19eb93,
    0x3eb3694e, 0x3d73e79b, 0x3f4756ef, 0x3c3dc003,
    0x3f6ab939, 0x3ed84f90, 0x3f065672, 0x3f7616bf,
    0x3f568ecb, 0x3f22a281, 0x3f798544, 0x3e64d2de,
    0x3f0399d9, 0x3ed97b16, 0x3f2a617a, 0x3e89ddcd,
    0x3f5980f2, 0x3f1807f7, 0x3e2f1399, 0x3e29f0da,
    0x3f7b9281, 0x3f18ae83, 0x3ee60acc, 0x3f12640c,
    0x3e82ea80, 0x3e9fd222, 0x3f19ef56, 0x3f4c626d,
    0x3f005ff0, 0x3b8c6612, 0x3f7afd64, 0x3e22c7f8,
    0x3e44d9dc, 0x3da9476f, 0x3e093299, 0x3f73bea9,
    0x3f093dc1, 0x3f6c0ca4, 0x3e071409, 0x3e0c9b5c,
    0x3f666e66, 0x3f7d715b, 0x3eb8482d, 0x3ebcbb5e,
    0x3f75c74f, 0x3e1a0659, 0x3ef79d1d, 0x3ea20474,
    0x3f6f244f, 0x3f65bfe5, 0x3e8e9d43, 0x3dac62f5,
    0x3e73a68b, 0x3eb14bb9, 0x3f71d474, 0x3f73192c,
    0x3df514f1, 0x3f0eb020, 0x3e1802e3, 0x3e40fc53,
    0x3f6dcbf1, 0x3f3fe92d, 0x3f3088fc, 0x3e7908f9,
    0x3e9f0e3f, 0x3f59caaa, 0x3f71fc6b, 0x3e03fcb0,
    0x3e8d795a, 0x3ed6d370, 0x3e3d741b, 0x3f0665c5,
    0x3e03b8dc, 0x3ec36989, 0x3e41f5bc, 0x3f2c13bd,
    0x3f1055c4, 0x3e0ac5c1, 0x3f7ecb1f, 0x3f5f1c86,
    0x3f0c4517, 0x3bc9b4af, 0x3f4698a8, 0x3e60d888,
    0x3f4d360b, 0x3f7a6908, 0x3ea9e568, 0x3f542a35,
    0x3f571e54, 0x3f559ed1, 0x3e477e0f, 0x3dc2ae2c,
    0x3f095f6d, 0x3f6d6176, 0x3e871cd8, 0x3ef343da,
    0x3f162322, 0x3e979c68, 0x3f3b8387, 0x3e6b90ec,
    0x3f330b5d, 0x3f099ae2, 0x3f14ae97, 0x3f78e53d,
    0x3eca02ea, 0x3ec226f4, 0x3ec53384, 0x3f0092e6,
    0x3e0aa741, 0x3e30a639, 0x3ebfcd1f, 0x3f47ec72,
    0x3dd181e3, 0x3f501d2e, 0x3ec170d6, 0x3f350dac,
    0x3e84a472, 0x3f3823eb, 0x3f394286, 0x3d0ea782,
    0x3ec06bda, 0x3f737deb, 0x3f50494f, 0x3ec40d59,
    0x3dcaa663, 0x3f4676c9, 0x3ea46e6a, 0x3f1dc12a,
    0x3efe5066, 0x3f6cc34a, 0x3f228d22, 0x3f800000
    };

static const uint32_t in_weighted_sum_val[50] = {
    0x3ef59039, 0x3f4bf0c0, 0x3f281f89, 0x3d203758,
    0x3dd67aaa, 0x3f056b52, 0x3e088a37, 0x3f52369c,
    0x3d3ad5fc, 0x3f2c7b41, 0x3f1cf2ea, 0x3f40c0c5,
    0x3e86e548, 0x3e567964, 0x3e0b6eb2, 0x3e570544,
    0x3e982de8, 0x3f26609f, 0x3f71c824, 0x3d9e7eeb,
    0x3d4f374e, 0x3f361d6d, 0x3f43dc1a, 0x3e848bcc,
    0x3e233709, 0x3ee39772, 0x3e65d216, 0x3e8c78d9,
    0x3e4e7014, 0x3e04412c, 0x3f24dfc4, 0x3e888dc3,
    0x3c77dec8, 0x3f04bd53, 0x3f4982ef, 0x3f785484,
    0x3e5322d4, 0x3e923b13, 0x3f1a7fdd, 0x3f20e801,
    0x3f036403, 0x3e529443, 0x3f43e1f5, 0x3e8679c1,
    0x3f1ff6cd, 0x3efff938, 0x3ef8c3c2, 0x3f3bf153,
    0x3f2d605f, 0x3b88b868
    };

static const uint32_t in_weighted_sum_coeff[50] = {
    0x3f5c365d, 0x3ef5bcf3, 0x3f07c2f1, 0x3ec77fde,
    0x3f486f4c, 0x3f3b14d9, 0x3edf92dd, 0x3e040f3f,
    0x3da6d898, 0x3f64fc4b, 0x3ea6942e, 0x3ea8d19f,
    0x3f42aa22, 0x3f7af090, 0x3ea61c74, 0x3f16d69c,
    0x3f22d66d, 0x3f3eb358, 0x3edcc17a, 0x3d5cac41,
    0x3f6752c8, 0x3f30434e, 0x3f67dc39, 0x3f1f5f4d,
    0x3f55019b, 0x3e8e78c4, 0x3f1dc570, 0x3ea3619d,
    0x3e16932c, 0x3debb877, 0x3d04efe4, 0x3dda8cae,
    0x3f175d01, 0x3e613eca, 0x3f792ff1, 0x3f05cb9e,
    0x3efd21eb, 0x3f52d9bb, 0x3f635d8c, 0x3f3d78cc,
    0x3f75ca43, 0x3ed94cbd, 0x3f18cc07, 0x3f71cf57,
    0x3f1999e0, 0x3f3d7b64, 0x3eff331b, 0x3f09a083,
    0x3ec65238, 0x3e5daacc
    };

static const uint32_t in_sort[11] = {
    0x3e8b2005, 0xbe79828d, 0x3ec60533, 0xbecd84a4,
    0x3edef701, 0xbf020833, 0x3eae45f9, 0xbe23a0cf,
    0x3f5b587c, 0xbe77e106, 0xbf800000
    };

static const uint32_t in_sort_bitonic_16[16] = {
    0xbce9c2a9, 0xbe49aaa6, 0x3ed24897, 0x3ebe06f3,
    0xbde7297e, 0x3f0f81a4, 0x3daa5ff8, 0xbd74b8b1,
    0xbeb7404b, 0xbe0c8154, 0xbf800000, 0xbf1ac9af,
    0xbe7ebe48, 0xbe96e2f3, 0x3ea8d3ec, 0x3dcccc3f
    };

static const uint32_t in_sort_bitonic_32[32] = {
    0x3de7ca48, 0x3e841924, 0xbf0ec9ee, 0xbd9234a0,
    0x3e57751c, 0x3d8ce6cb, 0xbed8c7f0, 0xbd2a8ea8,
    0x3e6e514e, 0xbefd1a2a, 0xbe972d7a, 0xbf800000,
    0x3dd11d1c, 0xbe3c1689, 0xbee8d12a, 0x3dc3dd48,
    0x3ece8f07, 0xbe4e84cb, 0x3e0db75f, 0x3cc96593,
    0xbf012b00, 0xbefeaa91, 0x3e506a2c, 0x3eb5a5a2,
    0xbf1abb67, 0x3e601f55, 0xbdf605d0, 0xbe81fc15,
    0xbf043534, 0x3d446123, 0xbf068a30, 0x3f2a6bfa
    };

static const uint32_t in_sort_const[16] = {
    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000
    };

static const q31_t ref_q31[256] = {
    0x1F734226, 0x618731DC, 0x7DB0FBEB, 0x5F0D0508,
    0x48563944, 0x67200CAB, 0x32DB0685, 0x2E75D568,
    0x37DA80F9, 0x190E07DD, 0x45EB71ED, 0x59C7AD50,
    0x5665CFE0, 0x7F76C5C5, 0x6059B69C, 0x61955104,
    0x5F7E6885, 0x28964887, 0x4A03057F, 0x4EF21858,
    0x58BD469F, 0x28FC3DF2, 0x7590A9D6, 0x28D4628A,
    0x47BB4F53, 0x5B9EB56F, 0x29A3E03E, 0x700F45D1,
    0x7C5CC410, 0x6952EF47, 0x4AEE9857, 0x64C45711,
    0x260DECE5, 0x5A47A942, 0x08C89876, 0x0E6177FF,
    0x03FAFDD1, 0x605313C2, 0x6A79965A, 0x510B9535,
    0x2D92DEDE, 0x29BB8892, 0x4EAEC208, 0x1089D0AD,
    0x3035C40F, 0x0A193378, 0x1A02AF95, 0x46EFE5C6,
    0x28BE9E52, 0x4D3595D9, 0x7DFB1100, 0x0549AB47,
    0x7C98C90C, 0x7CF0F32D, 0x1267D482, 0x39354238,
    0x706E996D, 0x19B485B7, 0x7FB91033, 0x4377B598,
    0x0625B617, 0x53D04177, 0x65008E8E, 0x6F9DDC13,
    0x5237F50F, 0x76CF771D, 0x59B36D2E, 0x31AC5A11,
    0x4DD79FB6, 0x491FEECD, 0x7206A018, 0x542C1144,
    0x74832DFD, 0x55344642, 0x4B1C40A4, 0x417A6061,
    0x06D868E0, 0x5367A0C9, 0x00AAD7D3, 0x58857FBC,
    0x7D72A6B1, 0x2BB8BABD, 0x724D4DB7, 0x7C4CF3D4,
    0x12950030, 0x0F244080, 0x22DDDC99, 0x41F62434,
    0x478F2409, 0x567808C9, 0x135B079F, 0x2FAC1C0E,
    0x5CE5C4AC, 0x11E90218, 0x652B18A6, 0x0EBE2E6E,
    0x5DCACB8B, 0x49EDB6B6, 0x579584EF, 0x53F2794B,
    0x04222852, 0x40A75D90, 0x5782552A, 0x7BF6B5AC,
    0x2AD6B82D, 0x5F1BD83D, 0x6CDAFF3C, 0x0E5E5A38,
    0x0E3B576E, 0x500D4D67, 0x75CF0379, 0x748E1C24,
    0x6DCFC2C9, 0x0373620B, 0x76C034C0, 0x53842D09,
    0x0B6301EB, 0x6B620642, 0x30F5CC0B, 0x7CA39E36,
    0x7F49A009, 0x753C844A, 0x6DE49BEB, 0x4CF5C95D,
    0x2CDA5375, 0x079F3CD5, 0x63AB778A, 0x017B8006,
    0x755C9C83, 0x3613E404, 0x432B38DB, 0x7B0B5F84,
    0x6B47654B, 0x5151405B, 0x7CC2A1E3, 0x1C9A5BCE,
    0x41CCECBF, 0x365EC596, 0x5530BCF6, 0x22777328,
    0x6CC078F9, 0x4C03FB6B, 0x15E27321, 0x153E1B33,
    0x7DC9407B, 0x4C5741BE, 0x3982B31C, 0x493205F7,
    0x20BA9FF5, 0x27F48878, 0x4CF7AB2C, 0x66313680,
    0x402FF7E3, 0x008C6612, 0x7D7EB1D0, 0x1458FF0D,
    0x189B3B74, 0x0A9476F8, 0x11265313, 0x79DF544E,
    0x449EE08B, 0x76065204, 0x10E28120, 0x11936B78,
    0x7337331B, 0x7EB8AD6A, 0x2E120B25, 0x2F2ED77A,
    0x7AE3A75F, 0x1340CB2B, 0x3DE74739, 0x28811D15,
    0x77922783, 0x72DFF27A, 0x23A750C8, 0x0AC62F50,
    0x1E74D15D, 0x2C52EE5F, 0x78EA39F5, 0x798C95E8,
    0x0F514F0E, 0x47580FD2, 0x13005C5E, 0x181F8A54,
    0x76E5F877, 0x5FF4969A, 0x58447DF7, 0x1F211F1A,
    0x27C38FC4, 0x6CE554FA, 0x78FE359E, 0x107F9609,
    0x235E5687, 0x35B4DBF3, 0x17AE8359, 0x4332E29A,
    0x10771B86, 0x30DA6245, 0x183EB776, 0x5609DE89,
    0x482AE202, 0x1158B828, 0x7F658F85, 0x6F8E433B,
    0x46228BBC, 0x00C9B4AF, 0x634C540C, 0x1C1B1105,
    0x669B0540, 0x7D3483F9, 0x2A7959F1, 0x6A151A6E,
    0x6B8F29DF, 0x6ACF688C, 0x18EFC1D1, 0x0C2AE2BA,
    0x44AFB68A, 0x76B0BB16, 0x21C735EC, 0x3CD0F666,
    0x4B1190CF, 0x25E719F0, 0x5DC1C380, 0x1D721D77,
    0x5985AE6D, 0x44CD710A, 0x4A574B63, 0x7C729EA3,
    0x3280BA6D, 0x3089BD1E, 0x314CE10F, 0x4049731A,
    0x1154E82F, 0x1614C716, 0x2FF347BF, 0x63F638F3,
    0x0D181E32, 0x680E9733, 0x305C3594, 0x5A86D5EF,
    0x21291C9D, 0x5C11F548, 0x5CA142CB, 0x04753C0F,
    0x301AF688, 0x79BEF5A5, 0x6824A746, 0x31035622,
    0x0CAA662F, 0x633B6485, 0x291B9A63, 0x4EE094CA,
    0x3F94197C, 0x7661A4D6, 0x514690FE, 0x7FFFFFFF
    };

static const q15_t ref_q15[256] = {
    0x1F73, 0x6187, 0x7DB1, 0x5F0D, 0x4856, 0x6720, 0x32DB, 0x2E76,
    0x37DB, 0x190E, 0x45EB, 0x59C8, 0x5666, 0x7F77, 0x605A, 0x6195,
    0x5F7E, 0x2896, 0x4A03, 0x4EF2, 0x58BD, 0x28FC, 0x7591, 0x28D4,
    0x47BB, 0x5B9F, 0x29A4, 0x700F, 0x7C5D, 0x6953, 0x4AEF, 0x64C4,
    0x260E, 0x5A48, 0x08C9, 0x0E61, 0x03FB, 0x6053, 0x6A7A, 0x510C,
    0x2D93, 0x29BC, 0x4EAF, 0x108A, 0x3036, 0x0A19, 0x1A03, 0x46F0,
    0x28BF, 0x4D36, 0x7DFB, 0x054A, 0x7C99, 0x7CF1, 0x1268, 0x3935,
    0x706F, 0x19B5, 0x7FB9, 0x4378, 0x0626, 0x53D0, 0x6501, 0x6F9E,
    0x5238, 0x76CF, 0x59B3, 0x31AC, 0x4DD8, 0x4920, 0x7207, 0x542C,
    0x7483, 0x5534, 0x4B1C, 0x417A, 0x06D8, 0x5368, 0x00AB, 0x5885,
    0x7D73, 0x2BB9, 0x724D, 0x7C4D, 0x1295, 0x0F24, 0x22DE, 0x41F6,
    0x478F, 0x5678, 0x135B, 0x2FAC, 0x5CE6, 0x11E9, 0x652B, 0x0EBE,
    0x5DCB, 0x49EE, 0x5796, 0x53F2, 0x0422, 0x40A7, 0x5782, 0x7BF7,
    0x2AD7, 0x5F1C, 0x6CDB, 0x0E5E, 0x0E3B, 0x500D, 0x75CF, 0x748E,
    0x6DD0, 0x0373, 0x76C0, 0x5384, 0x0B63, 0x6B62, 0x30F6, 0x7CA4,
    0x7F4A, 0x753D, 0x6DE5, 0x4CF6, 0x2CDA, 0x079F, 0x63AB, 0x017C,
    0x755D, 0x3614, 0x432B, 0x7B0B, 0x6B47, 0x5151, 0x7CC3, 0x1C9A,
    0x41CD, 0x365F, 0x5531, 0x2277, 0x6CC0, 0x4C04, 0x15E2, 0x153E,
    0x7DC9, 0x4C57, 0x3983, 0x4932, 0x20BB, 0x27F5, 0x4CF8, 0x6631,
    0x4030, 0x008C, 0x7D7F, 0x1459, 0x189B, 0x0A94, 0x1126, 0x79DF,
    0x449F, 0x7606, 0x10E3, 0x1193, 0x7337, 0x7EB9, 0x2E12, 0x2F2F,
    0x7AE4, 0x1341, 0x3DE7, 0x2881, 0x7792, 0x72E0, 0x23A7, 0x0AC6,
    0x1E75, 0x2C53, 0x78EA, 0x798D, 0x0F51, 0x4758, 0x1300, 0x1820,
    0x76E6, 0x5FF5, 0x5844, 0x1F21, 0x27C4, 0x6CE5, 0x78FE, 0x1080,
    0x235E, 0x35B5, 0x17AF, 0x4333, 0x1077, 0x30DA, 0x183F, 0x560A,
    0x482B, 0x1159, 0x7F66, 0x6F8E, 0x4623, 0x00CA, 0x634C, 0x1C1B,
    0x669B, 0x7D35, 0x2A79, 0x6A15, 0x6B8F, 0x6ACF, 0x18F0, 0x0C2B,
    0x44B0, 0x76B1, 0x21C7, 0x3CD1, 0x4B12, 0x25E7, 0x5DC2, 0x1D72,
    0x5986, 0x44CD, 0x4A57, 0x7C73, 0x3281, 0x308A, 0x314D, 0x4049,
    0x1155, 0x1615, 0x2FF3, 0x63F6, 0x0D18, 0x680F, 0x305C, 0x5A87,
    0x2129, 0x5C12, 0x5CA1, 0x0475, 0x301B, 0x79BF, 0x6825, 0x3103,
    0x0CAA, 0x633B, 0x291C, 0x4EE1, 0x3F94, 0x7662, 0x5147, 0x7FFF
    };

static const q7_t ref_q7[256] = {
    0x1F, 0x62, 0x7E, 0x5F, 0x48, 0x67, 0x33, 0x2E,
    0x38, 0x19, 0x46, 0x5A, 0x56, 0x7F, 0x60, 0x62,
    0x5F, 0x29, 0x4A, 0x4F, 0x59, 0x29, 0x76, 0x29,
    0x48, 0x5C, 0x2A, 0x70, 0x7C, 0x69, 0x4B, 0x65,
    0x26, 0x5A, 0x09, 0x0E, 0x04, 0x60, 0x6A, 0x51,
    0x2E, 0x2A, 0x4F, 0x11, 0x30, 0x0A, 0x1A, 0x47,
    0x29, 0x4D, 0x7E, 0x05, 0x7D, 0x7D, 0x12, 0x39,
    0x70, 0x1A, 0x7F, 0x43, 0x06, 0x54, 0x65, 0x70,
    0x52, 0x77, 0x5A, 0x32, 0x4E, 0x49, 0x72, 0x54,
    0x75, 0x55, 0x4B, 0x41, 0x07, 0x53, 0x01, 0x59,
    0x7D, 0x2C, 0x72, 0x7C, 0x13, 0x0F, 0x23, 0x42,
    0x48, 0x56, 0x13, 0x30, 0x5D, 0x12, 0x65, 0x0F,
    0x5E, 0x4A, 0x58, 0x54, 0x04, 0x41, 0x58, 0x7C,
    0x2B, 0x5F, 0x6D, 0x0E, 0x0E, 0x50, 0x76, 0x75,
    0x6E, 0x03, 0x77, 0x54, 0x0B, 0x6B, 0x31, 0x7D,
    0x7F, 0x75, 0x6E, 0x4D, 0x2D, 0x08, 0x64, 0x01,
    0x75, 0x36, 0x43, 0x7B, 0x6B, 0x51, 0x7D, 0x1D,
    0x42, 0x36, 0x55, 0x22, 0x6D, 0x4C, 0x16, 0x15,
    0x7E, 0x4C, 0x3A, 0x49, 0x21, 0x28, 0x4D, 0x66,
    0x40, 0x01, 0x7D, 0x14, 0x19, 0x0B, 0x11, 0x7A,
    0x45, 0x76, 0x11, 0x12, 0x73, 0x7F, 0x2E, 0x2F,
    0x7B, 0x13, 0x3E, 0x29, 0x78, 0x73, 0x24, 0x0B,
    0x1E, 0x2C, 0x79, 0x7A, 0x0F, 0x47, 0x13, 0x18,
    0x77, 0x60, 0x58, 0x1F, 0x28, 0x6D, 0x79, 0x10,
    0x23, 0x36, 0x18, 0x43, 0x10, 0x31, 0x18, 0x56,
    0x48, 0x11, 0x7F, 0x70, 0x46, 0x01, 0x63, 0x1C,
    0x67, 0x7D, 0x2A, 0x6A, 0x6C, 0x6B, 0x19, 0x0C,
    0x45, 0x77, 0x22, 0x3D, 0x4B, 0x26, 0x5E, 0x1D,
    0x5A, 0x45, 0x4A, 0x7C, 0x33, 0x31, 0x31, 0x40,
    0x11, 0x16, 0x30, 0x64, 0x0D, 0x68, 0x30, 0x5B,
    0x21, 0x5C, 0x5D, 0x04, 0x30, 0x7A, 0x68, 0x31,
    0x0D, 0x63, 0x29, 0x4F, 0x40, 0x76, 0x51, 0x7F
    };

static const uint32_t ref_weighted_sum[3] = {
    0x3f1c763e, 0x3ed2a7ac, 0x3eeb33c8
    };

static const uint32_t ref_sort[11] = {
    0xbf800000, 0xbf020833, 0xbecd84a4, 0xbe79828d,
    0xbe77e106, 0xbe23a0cf, 0x3e8b2005, 0x3eae45f9,
    0x3ec60533, 0x3edef701, 0x3f5b587c
    };

static const uint32_t ref_sort_bitonic_16[16] = {
    0xbf800000, 0xbf1ac9af, 0xbeb7404b, 0xbe96e2f3,
    0xbe7ebe48, 0xbe49aaa6, 0xbe0c8154, 0xbde7297e,
    0xbd74b8b1, 0xbce9c2a9, 0x3daa5ff8, 0x3dcccc3f,
    0x3ea8d3ec, 0x3ebe06f3, 0x3ed24897, 0x3f0f81a4
    };

static const uint32_t ref_sort_bitonic_32[32] = {
    0xbf800000, 0xbf1abb67, 0xbf0ec9ee, 0xbf068a30,
    0xbf043534, 0xbf012b00, 0xbefeaa91, 0xbefd1a2a,
    0xbee8d12a, 0xbed8c7f0, 0xbe972d7a, 0xbe81fc15,
    0xbe4e84cb, 0xbe3c1689, 0xbdf605d0, 0xbd9234a0,
    0xbd2a8ea8, 0x3cc96593, 0x3d446123, 0x3d8ce6cb,
    0x3dc3dd48, 0x3dd11d1c, 0x3de7ca48, 0x3e0db75f,
    0x3e506a2c, 0x3e57751c, 0x3e601f55, 0x3e6e514e,
    0x3e841924, 0x3eb5a5a2, 0x3ece8f07, 0x3f2a6bfa
    };

static const uint32_t ref_sort_const[16] = {
    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000
    };

